home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / catD / pciio_get.z / pciio_get
Encoding:
Text File  |  1998-10-30  |  12.4 KB  |  265 lines

  1.  
  2.  
  3.  
  4. ppppcccciiiiiiiioooo____ggggeeeetttt((((DDDD3333))))                                                    ppppcccciiiiiiiioooo____ggggeeeetttt((((DDDD3333))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      pciio_get: pciio_intr_dev_get, pciio_intr_cpu_get, pciio_pio_dev_get,
  10.      pciio_pio_slot_get, pciio_pio_space_get, pciio_pio_pciaddr_get,
  11.      pciio_pio_mapsz_get, pciio_dma_dev_get, pciio_dma_slot_get,
  12.      pciio_info_get, pciio_info_dev_get, pciio_info_bus_get,
  13.      pciio_info_slot_get, pciio_info_function_get, pciio_info_vendor_id_get,
  14.      pciio_info_device_id_get - interrogate PCI infrastructure
  15.  
  16. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  17.      ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////PPPPCCCCIIII////ppppcccciiiiiiiioooo....hhhh>>>>
  18.  
  19.      vvvveeeerrrrtttteeeexxxx____hhhhddddllll____tttt
  20.      ppppcccciiiiiiiioooo____iiiinnnnttttrrrr____ddddeeeevvvv____ggggeeeetttt((((ppppcccciiiiiiiioooo____iiiinnnnttttrrrr____tttt _i_n_t_r))))
  21.  
  22.      vvvveeeerrrrtttteeeexxxx____hhhhddddllll____tttt
  23.      ppppcccciiiiiiiioooo____iiiinnnnttttrrrr____ccccppppuuuu____ggggeeeetttt((((ppppcccciiiiiiiioooo____iiiinnnnttttrrrr____tttt _i_n_t_r))))
  24.  
  25.      vvvveeeerrrrtttteeeexxxx____hhhhddddllll____tttt
  26.      ppppcccciiiiiiiioooo____ppppiiiioooo____ddddeeeevvvv____ggggeeeetttt((((ppppcccciiiiiiiioooo____ppppiiiioooommmmaaaapppp____tttt _p_i_o_m_a_p))))
  27.  
  28.      ppppcccciiiiiiiioooo____ssssllllooootttt____tttt
  29.      ppppcccciiiiiiiioooo____ppppiiiioooo____ssssllllooootttt____ggggeeeetttt((((ppppcccciiiiiiiioooo____ppppiiiioooommmmaaaapppp____tttt _p_i_o_m_a_p))))
  30.  
  31.      ppppcccciiiiiiiioooo____ssssppppaaaacccceeee____tttt
  32.      ppppcccciiiiiiiioooo____ppppiiiioooo____ssssppppaaaacccceeee____ggggeeeetttt((((ppppcccciiiiiiiioooo____ppppiiiioooommmmaaaapppp____tttt _p_i_o_m_a_p))))
  33.  
  34.      iiiiooooppppaaaaddddddddrrrr____tttt
  35.      ppppcccciiiiiiiioooo____ppppiiiioooo____ppppcccciiiiaaaaddddddddrrrr____ggggeeeetttt((((ppppcccciiiiiiiioooo____ppppiiiioooommmmaaaapppp____tttt _p_i_o_m_a_p))))
  36.  
  37.      uuuulllloooonnnngggg
  38.      ppppcccciiiiiiiioooo____ppppiiiioooo____mmmmaaaappppsssszzzz____ggggeeeetttt((((ppppcccciiiiiiiioooo____ppppiiiioooommmmaaaapppp____tttt _p_i_o_m_a_p))))
  39.  
  40.      vvvveeeerrrrtttteeeexxxx____hhhhddddllll____tttt
  41.      ppppcccciiiiiiiioooo____ddddmmmmaaaa____ddddeeeevvvv____ggggeeeetttt((((ppppcccciiiiiiiioooo____ddddmmmmaaaammmmaaaapppp____tttt _d_m_a_m_a_p))))
  42.  
  43.      ppppcccciiiiiiiioooo____ssssllllooootttt____tttt
  44.      ppppcccciiiiiiiioooo____ddddmmmmaaaa____ssssllllooootttt____ggggeeeetttt((((ppppcccciiiiiiiioooo____ddddmmmmaaaammmmaaaapppp____tttt _d_m_a_m_a_p))))
  45.  
  46.      ppppcccciiiiiiiioooo____iiiinnnnffffoooo____tttt
  47.      ppppcccciiiiiiiioooo____iiiinnnnffffoooo____ggggeeeetttt((((vvvveeeerrrrtttteeeexxxx____hhhhddddllll____tttt _v_h_d_l))))
  48.  
  49.      vvvveeeerrrrtttteeeexxxx____hhhhddddllll____tttt
  50.      ppppcccciiiiiiiioooo____iiiinnnnffffoooo____ddddeeeevvvv____ggggeeeetttt((((ppppcccciiiiiiiioooo____iiiinnnnffffoooo____tttt _i_n_f_o))))
  51.  
  52.      ppppcccciiiiiiiioooo____bbbbuuuussss____tttt
  53.      ppppcccciiiiiiiioooo____iiiinnnnffffoooo____bbbbuuuussss____ggggeeeetttt((((ppppcccciiiiiiiioooo____iiiinnnnffffoooo____tttt _i_n_f_o))))
  54.  
  55.      ppppcccciiiiiiiioooo____ssssllllooootttt____tttt
  56.      ppppcccciiiiiiiioooo____iiiinnnnffffoooo____ssssllllooootttt____ggggeeeetttt((((ppppcccciiiiiiiioooo____iiiinnnnffffoooo____tttt _i_n_f_o))))
  57.  
  58.      ppppcccciiiiiiiioooo____ffffuuuunnnnccccttttiiiioooonnnn____tttt
  59.      ppppcccciiiiiiiioooo____iiiinnnnffffoooo____ffffuuuunnnnccccttttiiiioooonnnn____ggggeeeetttt((((ppppcccciiiiiiiioooo____iiiinnnnffffoooo____tttt _i_n_f_o))))
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ppppcccciiiiiiiioooo____ggggeeeetttt((((DDDD3333))))                                                    ppppcccciiiiiiiioooo____ggggeeeetttt((((DDDD3333))))
  71.  
  72.  
  73.  
  74.      ppppcccciiiiiiiioooo____vvvveeeennnnddddoooorrrr____iiiidddd____tttt
  75.      ppppcccciiiiiiiioooo____iiiinnnnffffoooo____vvvveeeennnnddddoooorrrr____iiiidddd____ggggeeeetttt((((ppppcccciiiiiiiioooo____iiiinnnnffffoooo____tttt _i_n_f_o))))
  76.  
  77.      ppppcccciiiiiiiioooo____ddddeeeevvvviiiicccceeee____iiiidddd____tttt
  78.      ppppcccciiiiiiiioooo____iiiinnnnffffoooo____ddddeeeevvvviiiicccceeee____iiiidddd____ggggeeeetttt((((ppppcccciiiiiiiioooo____iiiinnnnffffoooo____tttt _i_n_f_o))))
  79.  
  80.    AAAArrrrgggguuuummmmeeeennnnttttssss
  81.      _i_n_t_r    A PCI interrupt object handle returned by _p_c_i_i_o__i_n_t_r__a_l_l_o_c().
  82.  
  83.      _p_i_o_m_a_p  A PCI PIO map returned by _p_c_i_i_o__p_i_o_m_a_p__a_l_l_o_c().
  84.  
  85.      _d_m_a_m_a_p  is a pciio_dmamap_t that was created by _p_c_i_i_o__d_m_a_m_a_p__a_l_l_o_c().
  86.  
  87.      _v_h_d_l    A pci connection point in the hardware graph, obtained as the
  88.              parameter to the attach call.
  89.  
  90.      _i_n_f_o    A PCI info object returned by _p_c_i_i_o__i_n_f_o__g_e_t().
  91.  
  92. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  93.      These routines are used to pull specific useful bits of information out
  94.      of the various opaque data structures used by the PCI infrastructure.
  95.      Few drivers will need to make use of these routines, but having them
  96.      available might save the driver from doing extra bookkeeping.
  97.  
  98.    IIIInnnntttteeeerrrrrrrruuuupppptttt QQQQuuuueeeerrrriiiieeeessss
  99.      Two functions fetch parameters from an interrupt object:
  100.  
  101.      +o   _p_c_i_i_o__i_n_t_r__d_e_v__g_e_t() returns the connection point of the interrupt
  102.          device.
  103.  
  104.      +o   _p_c_i_i_o__i_n_t_r__c_p_u__g_e_t() returns the CPU that is the target of interrupts
  105.          for that PCI bus.
  106.  
  107.    PPPPIIIIOOOO MMMMaaaapppp QQQQuuuueeeerrrriiiieeeessss
  108.      Several functions return items based on a PIO map (see _p_c_i_i_o__p_i_o(D3)):
  109.  
  110.      +o   _p_c_i_i_o__p_i_o__d_e_v__g_e_t() returns the connection point of the mapped
  111.          device.
  112.  
  113.      +o   _p_c_i_i_o__p_i_o__m_a_p_s_z__g_e_t() returns the map maximum size.
  114.  
  115.      +o   _p_c_i_i_o__p_i_o__p_c_i_a_d_d_r__g_e_t() returns the base address specified for the
  116.          map.
  117.  
  118.      +o   _p_c_i_i_o__p_i_o__s_p_a_c_e__g_e_t() returns the target address space that was
  119.          specified.
  120.  
  121.      +o   _p_c_i_i_o__p_i_o__s_l_o_t__g_e_t() returns the slot number on the PCI bus for a
  122.          device.
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ppppcccciiiiiiiioooo____ggggeeeetttt((((DDDD3333))))                                                    ppppcccciiiiiiiioooo____ggggeeeetttt((((DDDD3333))))
  137.  
  138.  
  139.  
  140.    DDDDMMMMAAAA MMMMaaaapppp QQQQuuuueeeerrrriiiieeeessss
  141.      Two functions return items based on a DMA as map (see _p_c_i_i_o__d_m_a(D3)):
  142.  
  143.      +o   _p_c_i_i_o__d_m_a__d_e_v__g_e_t() returns the connection point of the mapped
  144.          device.
  145.  
  146.      +o   _p_c_i_i_o__d_m_a__s_l_o_t__g_e_t() returns the slot number on the PCI bus for a
  147.          device.
  148.  
  149.    IIIInnnnffffoooo SSSSttttrrrruuuuccccttttuuuurrrreeee QQQQuuuueeeerrrriiiieeeessss
  150.      The PCI infrastructure stores a version-dependent information structure
  151.      in the connection point for a PCI device.  Several functions are provided
  152.      to retrieve and interrogate this structure.  Those most likely to be
  153.      useful to a device driver are:
  154.  
  155.      +o   _p_c_i_i_o__i_n_f_o__g_e_t() returns a handle to the information structure.  The
  156.          driver can save this handle at attach time to avoid the small
  157.          overhead of looking it up each time it is needed.
  158.  
  159.      +o   _p_c_i_i_o__i_n_f_o__d_e_v__g_e_t() returns the vertex handle of the connection
  160.          point (from which the information structure was originally
  161.          retrieved).
  162.  
  163.      +o   _p_c_i_i_o__i_n_f_o__b_u_s__g_e_t() returns the bus number, always 0 unless the
  164.          system has a PCI to PCI Bridge.
  165.  
  166.      +o   _p_c_i_i_o__i_n_f_o__s_l_o_t__g_e_t() returns the PCI card slot number of the device.
  167.  
  168.      +o   _p_c_i_i_o__i_n_f_o__f_u_n_c_t_i_o_n__g_e_t() returns the PCI function number (0 unless
  169.          this device is on a multifunction card).
  170.  
  171.      +o   _p_c_i_i_o__i_n_f_o__v_e_n_d_o_r__i_d__g_e_t() returns the vendor ID configuration value
  172.          of the device.
  173.  
  174.      +o   _p_c_i_i_o__i_n_f_o__d_e_v_i_c_e__i_d__g_e_t() returns the device ID configuration value
  175.          of the device.
  176.  
  177. NNNNOOOOTTTTEEEESSSS
  178.      Bus numbers are arbitrary, not necessarily sequential, and may not be
  179.      unique in large systems; they are only guaranteed to be unique across all
  180.      busses that are connected by PCI-to-PCI Bridges.
  181.  
  182. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  183.      pciio(D3), pciio_config(D3), pciio_dma(D3), pciio_error(D3),
  184.      pciio_intr(D3), pciio_pio(D3).
  185.  
  186. DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
  187.      _p_c_i_i_o__i_n_f_o__g_e_t() returns NULL if there is no pciio info structure
  188.      attached to that vertex.
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. ppppcccciiiiiiiioooo____ggggeeeetttt((((DDDD3333))))                                                    ppppcccciiiiiiiioooo____ggggeeeetttt((((DDDD3333))))
  203.  
  204.  
  205.  
  206.      Do not pass _i_n_f_o as NULL to any of these functions, that would cause a
  207.      kernel panic.
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.